Secure access to restricted resource

ABSTRACT

A system may generate an access number, provide the access number to a user via a telephone call, and provide the access number to an authentication server. The system may regulate access by the user to a restricted resource based on the access number provided to the user and the access number provided to the authentication server.

BACKGROUND

Many companies use secure devices, like token devices, to regulate access to their restricted resources. A company issues token devices to its employees and/or customers. The token devices generate numbers that change over time (e.g., every 1 minute). The company's server also generates numbers that track the numbers generated by the token devices. The numbers generated by the company's server are synchronized in time with the numbers generated by the token devices.

When a user attempts to gain access to a restricted resource of the company, the user provides the number currently shown on his token device to the company's server and a personal identification number (PIN). The company's server regulates access to the restricted resource based on the user-provided number matching the number it generated, and the user's PIN.

Token devices are expensive. While each token device alone may not be that expensive, it becomes expensive when purchasing token devices for all of a company's employees and/or customers. Also, token devices need to be periodically replaced (e.g., every 3 years). Therefore, token devices become a continuing expense. Further, it becomes impossible for an employee/customer to access the company's restricted resource if the employee/customer loses or forgets his token device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary diagram illustrating a concept described herein;

FIG. 2 is an exemplary diagram of a network in which systems and methods described herein may be implemented;

FIG. 3 is an exemplary diagram of a device that may correspond to one or more of the telephone device, service provider server, computer device, and/or authentication server of FIG. 2;

FIG. 4 is a flowchart of an exemplary process for selectively providing access to a restricted resource;

FIGS. 5A-5B are exemplary diagrams of a telephone device that illustrate portions of the process of FIG. 4;

FIG. 6 is an exemplary diagram of a computer device that illustrates portions of the process of FIG. 4;

FIG. 7 is an exemplary diagram of another network in which systems and methods described herein may be implemented; and

FIG. 8 is an exemplary diagram of yet another network in which systems and methods described herein may be implemented.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.

Implementations described herein may facilitate selective access to a restricted resource. FIG. 1 is an exemplary diagram illustrating a concept described herein. As shown in FIG. 1, a user might use a cellular telephone to contact a service provider. The user may authenticate herself to the service provider using, for example, information identifying the user's cellular telephone (e.g., caller identification (ID)) and possibly a password (e.g., any combination of letters, numbers, and/or symbols). If the user is properly authenticated, the service provider may provide an access number that might be shown on a display of the cellular telephone. The user might enter the access number into a user interface on a computer device that provides access to a restricted resource. The access number may be used to authenticate the user and provide selective access to the restricted resource.

FIG. 2 is an exemplary diagram of a network 200 in which systems and methods described herein may be implemented. Network 200 may include a telephone device 210 connected to a service provider server 220 via network 230, and a computer device 240 connected to authentication server 250 and restricted resource 260 via network 270. A single telephone device 210, service provider server 220, computer device 240, authentication server 250, and restricted resource 260 have been illustrated as connected to networks 230 and 270 for simplicity. In practice, there may be more or fewer telephone devices, service provider servers, computer devices, authentication servers, and/or restricted resources.

Also, it may be possible for some combination of telephone device 210, service provider server 220, computer device 240, authentication server 250, and/or restricted resource 260 to be implemented within a single device. For example, telephone device 210 and computer device 240 may be implemented as single device, authentication server 250 and restricted resource 260 may be implemented as a single device, and/or computer device 240 and restricted resource 260 may be implemented as a single device.

Telephone device 210 may include any type or form of communication device, such as a cellular telephone, a cordless telephone, a wired telephone, a satellite telephone, a radiotelephone, a smart phone, etc. A user might use telephone device 210 to contact service provider server 220.

Service provider server 220 may include a device, such as a computer system, that is capable of communicating via network 230 and network 270. In one embodiment, service provider server 220 may be implemented as a single device. In another embodiment, service provider server 220 may be implemented as multiple devices that are either co-located or remotely located.

Computer device 240 may include any type or form of computation or communication device, such as a personal computer, a laptop, a personal digital assistant (PDA), etc. A user of computer device 240 may attempt to gain access to restricted resource 260 via authentication server 250. Authentication server 250 may include a device, such as a computer system, that is capable of authenticating a user for selective access to restricted resource 260. In one embodiment, authentication server 250 may permit access to restricted resource 260 based on the access number from service provider server 220. Restricted resource 260 may include any type or form of resource to which access may be controlled, such as a private network (e.g., a company intranet), a device (e.g., a computer, a memory device, or a peripheral), data (e.g., data associated with a user's account or profile), or software (e.g., an email application, a word processing program, or an operating system).

Network 230 may include a telephone network, such as a cellular network, the Public Switched Telephone Network (PSTN), or a combination of networks. Network 270 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the PSTN or a cellular network, an intranet, the Internet, or a combination of networks. It may be possible for network 230 and network 270 to be implemented as the same network.

FIG. 3 is an exemplary diagram of a device that may correspond to one or more of telephone device 210, service provider server 220, computer device 240, and/or authentication server 250. The device may include a bus 310, a processor 320, a main memory 330, a read only memory (ROM) 340, a storage device 350, an input device 360, an output device 370, and a communication interface 380. Bus 310 may include a path that permits communication among the elements of the device.

Processor 320 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Main memory 330 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 320. ROM 340 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 320. Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive.

Input device 360 may include a mechanism that permits an operator to input information to the device, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc. Output device 370 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 380 may include any transceiver-like mechanism that enables the device to communicate with other devices and/or systems. For example, communication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 230 or 270.

As will be described in detail below, the device shown in FIG. 3, as described herein, may perform certain operations relating to the obtainment of selective access to restricted resource 260. The device may perform these operations in response to processor 320 executing software instructions contained in a computer-readable medium, such as memory 330. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.

The software instructions may be read into memory 330 from another computer-readable medium, such as data storage device 350, or from another device via communication interface 380. The software instructions contained in memory 330 may cause processor 320 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

FIG. 4 is a flowchart of an exemplary process for selectively providing access to a restricted resource. In one implementation, the processing of FIG. 4 may be performed by one or more software and/or hardware components within telephone device 210, service provider server 220, computer device 240, authentication server 250, or a combination of telephone device 210, service provider server 220, computer device 240, and authentication server 250. FIGS. 5A-5B are exemplary diagrams of a telephone device that illustrate portions of the process of FIG. 4. FIG. 6 is an exemplary diagram of a computer device that illustrates portions of the process of FIG. 4.

Processing may begin with a telephone call being placed to a predetermined telephone number (block 410). For example, a user may enter a telephone number associated with service provider server 220 into telephone device 210, as shown in FIG. 5A. When instructed by the user, telephone device 210 may place a call to service provider server 220.

The telephone call may be received and the user may be authenticated (blocks 420 and 430). For example, service provider server 220 may identify the user based on unique telephone identifying information associated with telephone device 210, such as caller ID information, International Mobile Subscriber Identity (IMSI) information, or other information unique to telephone device 210. Service provider server 220 may identify the user of telephone device 210 based on user identifying information particular to the user, such as a password or biometric data (e.g., a voice signal). For example, service provider server 220 may request that the user provide the user identifying information and may compare the user identifying information to identifying information previously associated with telephone device 210. It may be possible for multiple users to be associated with the same telephone device 210. In this case, service provider server 220 may use the user identifying information provided by the user to determine whether the user is one of these users and if so, which one.

If the user is not properly authenticated, then the call may be disconnected. If the user is properly authenticated, however, an access number may be provided to telephone device 210 and authentication server 250 (block 440). For example, service provider server 220 may include a hardware or software access number generator that is configured to generate a random string of characters (e.g., any combination of numbers, letters, and/or symbols) of a predetermined length to be used as an access number. In one implementation, the access number may include the user identifying information (or possibly the telephone identifying information) embedded therein. In this case, a random string of characters may be generated and then this string of characters may be modified to embed the user identifying information. The user identifying information may be embedded in a manner known to authentication server 250, such that authentication server 250 is capable of determining the user identifying information from the access number.

It is beneficial that the access number be generated in a non-predictable manner that is not reproducible (e.g., by hacking) The access number may have a certain expiration time (e.g., 1 minute, 5 minutes, 30 minutes, etc.) that indicates when the access number expires. For security purposes, shorter expiration times may be favored over longer expiration times. Also, the access number may be designed for a one-time use, such that the access number may be immediately expired upon use.

Service provider server 220 may send the access number to telephone device 210. In one implementation, service provider server 220 may send the access number in a message for presentation on a display of telephone device 210, as shown in FIG. 5B. Service provider server 220 may also send the same access number to authentication server 250. In one implementation, service provider server 220 may send the access number in a message along with information regarding the user to authentication server 250. Authentication server 250 may use the user information to match a subsequent access attempt by the user to the message (and, thus, the access number) received from service provider server 220.

At some point, authentication server 250 may be contacted (block 450). For example, the user may access a user interface associated with computer device 240 or authentication server 250, as shown in FIG. 6. In one implementation, the user may access the user interface using, for example, a web browser provided on computer device 240. In another implementation, the user may be presented with the user interface automatically after powering up of computer device 240.

The access number may be presented to authentication server 250 (block 460). For example, authentication server 250 may request various pieces of information to properly authenticate the user. In one implementation, authentication server 250 may authenticate the user based on the user's user name (e.g., Billy West) and the access number (e.g., 46A9B39P), as shown in FIG. 6. If the access number includes the user identifying information (or telephone identifying information) embedded therein, authentication server 250 may authenticate the user based on the user name, the access number, and the user identifying information.

To provide further security, authentication server 250 may authenticate the user based on the user name, the access number, and one or more additional pieces of information, such as a password that is unique to the user, biometric data that is unique to the user, a password that is unique to a group of users (e.g., employees of the same company), an address that is unique to computer device 240 used by the user, or some other information that can uniquely or semi-uniquely identify the user.

The access number may be provided to authentication server 250 in a number of ways. For example, the user might enter the access number using an input device, such as a keyboard. Alternatively, the access number may be transmitted from telephone device 210 to computer device 240 directly or indirectly via a wired or wireless connection.

The user may be authenticated based on the access number (block 470). For example, authentication server 250 may collect information from the user, as described above, and authenticate the user. In one implementation, as described above, authentication server 250 may properly authenticate the user based on the user name and a valid access number. The access number may be considered valid when it matches the access number received from service provider server 220 and the access number is received before it expires. In another implementation, authentication server 250 may use additional information to properly authenticate the user, as described above. Authentication server 250 may immediately expire the access number after use. In this case, if the user were to subsequently attempt to authenticate to authentication server 250 using the same access number, authentication server 250 would not properly authenticate the user because the access number would be identified as invalid.

Selective access to restricted resource 260 may be provided (block 480). For example, if authentication server 250 cannot properly authenticate the user, then authentication server 250 may deny the user access to restricted resource 260. In this case, the user may need to place another call to service provider server 220 to obtain a new access number (e.g., block 410). If authentication server 250 properly authenticates the user, then authentication server 250 may grant the user access to restricted resource 260. In this case, authentication server 250 may send a message to restricted resource 260, or another device that regulates access to restricted resource 260 (e.g., a firewall, a gateway, or the like), to permit access to the user. The user's access to restricted resource 260 may be unlimited (e.g., permit unrestricted access to any part of restricted resource 260) or limited (e.g., permit access to only certain part(s) of restricted resource 260) based on policies associated with restricted resource 260.

In an alternate implementation, the access number provided by service provider server 220 may not include the user identifying information (or telephone identifying information) embedded therein. In this case, authentication server 220 may authenticate the user based on the user name, the access number, and other information unique to the user, such as a password or biometric data.

In yet another implementation, service provider server 220 may authenticate the user based solely on the telephone identifying information. In this case, authentication server 220 may authenticate the user based on the user name, the access number, and other information unique to the user, such as a password or biometric data.

FIG. 7 is an exemplary diagram of another network 700 in which systems and methods described herein may be implemented. Network 700 may include telephone device 210 connected to service provider server 220 via network 230, and computer device 240 connected to restricted resources 710-730 via network 270. Telephone device 210, service provider server 220, network 230, computer device 240, and network 270 may be configured similar to like elements described with regard to FIG. 2.

While no authentication server 250 is shown in FIG. 7, it can be assumed that there is an authentication server for each company or each restricted resource (not shown). Alternatively, the authentication server functionality may be embedded within restricted resources 710-730.

Each of restricted resources 710-730 may be configured similar to restricted resource 260, as described with regard to FIG. 2. While three restricted resources 710-730 are shown in FIG. 7, in practice, there may be more or fewer restricted resources. Assume in network 700, however, that restricted resources 710-730 are associated with different legal entities (e.g., companies). As shown in FIG. 7, restricted resource 710 may be associated with company A, restricted resource 720 may be associated with company B, and restricted resource 730 may be associated with company C. Each of companies A-C may subscribe to authentication services provided by service provider server 220.

In this situation, a user may be selectively provided access to any of restricted resources 710-730 using a process similar to that described above with regard to FIG. 4. As a result, service provider server 220 may be able to cross-authenticate users of one company's restricted resource to another company. This may create a community of companies that trust the same source of authentication (e.g., service provider server 220). This may also permit cross promotion such that company A can promote to company C so that company C's customers can gain quick and secure access to company A's restricted resource(s) using the same authentication procedures that they currently use with company C.

When a user accesses service provider server 220 to obtain an access number, service provider server 220 may determine with which company, or companies, the user is associated. For example, the user may be a customer of both company A and company B. In this case, when service provider server 220 sends the access number to the user, service provider server 220 may also provide the access number to both companies in anticipation of the user attempting to gain access to a restricted resource associated with one of the companies. Alternatively, service provider server 220 may recognize that the user is associated with multiple companies and ask the user to select one of the companies for which the user is going to subsequently attempt to access a restricted resource.

FIG. 8 is an exemplary diagram of yet another network 800 in which systems and methods described herein may be implemented. Network 800 may include user device 810 connected to service provider server 220 via network 230, and connected to authentication server 250 and restricted resource 260 via network 270. Service provider server 220, network 230, authentication server 250, restricted resource 260, and network 270 may be configured similar to like elements described with regard to FIG. 2.

User device 810 may include any type of communication or computation device, such as a telephone device similar to telephone device 210, a computer device similar to computer device 240, or a device that combines aspects of a telephone device and a computer device. In network 800, user device 810 may be used to not only receive the access number from service provider server 220, but also to use that access number to access restricted resource 260. In other words, user device 810 may contact service provider server 220 to obtain an access number. User device 810 may subsequently contact authentication server 250 and use the access number to gain access to restricted resource 260. In these implementations, no separate telephone device and computer device may be necessary.

Implementations described herein may provide a secure technique for providing a user with access to a restricted resource.

The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.

For example, while a series of acts has been described with regard to FIG. 4, the order of the acts may be modified in other implementations. Further, non-dependent acts may be performed in parallel.

Also, while it has been described that a user receives the access number from service provider server 220 via a telephone call, this need not be the case. In another implementation, the user may receive the access number via a text message, such as an instant message or another form of reliable, quick communication.

Further, it has been described that access to a restricted resource is obtained via an authentication server. In another implementation, the service provider server may operate as a proxy server for the restricted resource, such that the user can gain access to the restricted resource through the service provider server.

It will be apparent that systems and methods, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the invention. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.

No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. 

1-23. (canceled)
 24. A method comprising: authenticating, by a first device, a user of a second device; determining, by the first device, that the user is associated with a plurality of entities based on authenticating the user; generating, by the first device, access data for providing access to one or more restricted resources associated with one or more of the plurality of entities; and sending, by the first device, the access data to the second device and to a third device that is associated with the one or more of the plurality of entities to regulate access to a restricted resource, of the one or more restricted resources.
 25. The method of claim 24, further comprising: determining first identifying information associated with the second device; determining second identifying information associated with the user based on the first identifying information; and authenticating the user based on the first identifying information and the second identifying information.
 26. The method of claim 25, where generating the access data includes: generating a random string of characters; and embedding the second identifying information in the random string of characters.
 27. The method of claim 24, where information identifying the user is embedded in the access data.
 28. The method of claim 24, further comprising: receiving, by the first device and from the second device, a selection identifying the one or more of the plurality of legal entities after determining that the user is associated with the plurality of entities, the access data being generated based on receiving the selection.
 29. The method of claim 24, where the plurality of entities includes a first entity and a second entity, where generating the access data includes: generating the access data for providing access to: a first restricted resource of the first entity, and a second restricted resource of the second entity; and where sending the access data includes: sending the access data to the second device, the third device, and a fourth device, the third device being associated with the first entity and the fourth device being associated with the second entity.
 30. The method of claim 24, where the plurality of entities includes a first entity and a second entity, and where generating the access data includes: generating the access data for providing access to: a first restricted resource of the first entity, and a second restricted resource of the second entity, the third device being associated with the first entity and the second entity.
 31. A device comprising: a processor to: receive first information from a user device, determine, based on the first information, that the user device is associated with: a first company associated with a first resource, and a second company that is associated with a second resource, generate access data for providing access to the first resource and the second resource based on determining that the user device is associated with the first company and the second company, and transmit the access data to the user device and to one or more third devices that regulate access to the first resource and the second resource.
 32. The device of claim 31, where the processor is further to: determine, based on the first information, second information that identifies a user associated with the user device, and generate the access data based on the first information and the second information.
 33. The device of claim 32, where, when generating the access data, the processor is further to: generate a random string of data, and include at least one of the first information or the second information into the random string of data to generate the access data.
 34. The device of claim 31, where, when generating the access data, the processor is further to: include at least one of information identifying the user device or information identifying the user into randomized data to generate the access data.
 35. The device of claim 31, where the processor is further to: determine that the user device is associated with a third company, provide information identifying the first company, the second company, and the third company to the user device, receive a selection of the first company and the second company from the user device, and generate the access data based on receiving the selection.
 36. The device of claim 31, where the one or more third devices comprise a network device associated with the first company and the second company.
 37. The device of claim 31, where the processor is further to: determine, based on the first information, information identifying the user device and information identifying a user of the user device, the access data including one or more of the information identifying the user device or the information identifying the user.
 38. A non-transitory computer-readable medium comprising: one or more instructions which, when executed by one or more processors, cause the one or more processors to: receive a request for access data from a user device associated with a user, authenticate the user based on receiving the request, determine that the user is associated with a first resource of a first company and a second resource of a second company based on authenticating the user, generate the access data to enable the user to access the first resource and the second resource, and transmit the access data to: the user device, a first device associated with accessing the first resource, and a second device that regulates access to the second resource.
 39. The non-transitory computer-readable medium of claim 38, further comprising: one or more instructions which, when executed by the processor, cause the processor to: determine first information that identifies the user device based on the request, determine second information that identifies the user based on the first identifying information, authenticate the user based on the first information and the second information, and generate the access data based on authenticating the user.
 40. The non-transitory computer-readable medium of claim 38, where the one or more instructions to generate the access data include: one or more instructions to: embed information identifying the user into a random string of characters, the access data including the information identifying the user embedded into the random string of characters.
 41. The non-transitory computer-readable medium of claim 38, where the one or more instructions to generate the access data include: one or more instructions to generate random data, and one or more instructions to embed information identifying the user and information identifying the user device into the generated random data.
 42. The non-transitory computer-readable medium of claim 38, further comprising: one or more instructions which, when executed by the processor, cause the processor to: determine that the user is associated with a third company, provide information identifying the first company, information identifying the second company, and information identifying the third company to the user device, receive, from the user device, a selection of the first company and a selection of the second company, and generate the access data based on receiving the selection of the first company and the selection of the second company.
 43. The non-transitory computer-readable medium of claim 38, where the first device and the second device are included in an authentication server associated with the first resource and the second resource. 